@using System.Collections.Generic
@using System.Collections.ObjectModel
@using ApiGenerator
@using ApiGenerator.Domain.Specification
@using ApiGenerator.Domain.Code
@inherits CodeTemplatePage<KeyValuePair<string, ReadOnlyCollection<ApiEndpoint>>>
@{
	KeyValuePair<string, ReadOnlyCollection<ApiEndpoint>> model = Model;
	string ns = model.Key != CsharpNames.RootNamespace ? "." + CsharpNames.ApiNamespace + "." + model.Key + CsharpNames.ApiNamespaceSuffix : null;
	var endpoints = model.Value;
}
@{ await IncludeAsync("GeneratorNotice.cshtml", Model); }
// ReSharper disable RedundantUsingDirective
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Linq.Expressions;
using System.Runtime.Serialization;
using Elastic.Transport;
using Elasticsearch.Net;
using Nest.Utf8Json;
@if (model.Key != CsharpNames.RootNamespace)
{
	<text>using Elasticsearch.Net@(ns);
	</text>
}

// ReSharper disable RedundantBaseConstructorCall
// ReSharper disable UnusedTypeParameter
// ReSharper disable PartialMethodWithSinglePart
// ReSharper disable RedundantNameQualifier
namespace Nest
{
@foreach (var endpoint in endpoints)
{
	await IncludeAsync("HighLevel/Requests/RequestInterface.cshtml", endpoint.RequestInterface);
	await IncludeAsync("HighLevel/Requests/RequestImplementations.cshtml", endpoint.RequestPartialImplementation);
}
}